1) Field of the Invention
This invention relates to a motion vector searcher and a motion vector search method as well as a moving picture coding apparatus suitable for use for motion vector detection, for example, in digital moving picture coding.
2) Description of the Related Art
In recent years, a service of distributing images of a high picture quality in multiple channels is carried out in broadcasting media such as satellite broadcasting and a CATV (Cable Television of Community Antenna Television System), and a compression technique called MPEG (Moving Picture Experts Group) has been developed.
A moving picture has various redundancies. For example, according to an image pickup method called panning, since an image of an object which is stationary on a screen is picked up while the orientation of a camera is varied with the object fixed, the object appearing on a screen at present and the object appearing on a succeeding screen exhibit no significant difference of data regarding the image. Accordingly, the image is first converted into data only with regard to a portion which relates to motion information of the object.
Here, several terms used in the present specification are defined in the following manner. The screen is what a physical display apparatus displays, and the image is an object such as a body, a landscape and so forth which are included in the screen. Further, the picture element is a point on the screen which corresponds to the resolution of the image and has a value called luminance value or color difference value. A pixel of, for example, a personal computer corresponds to the picture element.
A still picture has a spatial redundancy that adjacent pixels are similar to each other. For example, where the pattern of the screen is plain and in full white, the color of an adjacent picture element can be analogized more readily than where the pattern of the screen includes two different colors of white and red.
On the other hand, a moving picture has a temporal redundancy that similar pictures successively appear with respect to time. The temporal redundancy has a characteristic that the luminance value of a certain picture element has a high correlation to the luminance value of a neighboring picture element in time. For example, in the movie, images which are different a little from each other are successively displayed to present a dynamic image, and therefore, preceding and succeeding pictures in time are similar to each other.
Therefore, the MPEG system has two different functions of DCT (Discrete Cosine Transform) for removing a spatial redundancy of a still picture and motion compensation (MC) for removing a temporal redundancy of a moving picture. Here, to remove a spatial redundancy signifies to convert an image into frequency components using orthogonal transform (for example, DCT) to eliminate high frequency components to reduce the amount of information to be transmitted.
Meanwhile, to remove a temporal redundancy signifies to determine differences between frames without using compression within a frame (intra-frame compression which is hereinafter described) and encode the difference information. Encoding of such difference information is more effective to reduce the amount of information than use only of the intra-frame compression. In particular, where a motion search which is hereinafter described is performed to select a position at which the difference is comparatively small, the information amount can be reduced more effectively than where the difference of a block at the same position between frames is calculated. It is to be noted that the difference is represented, for example, as (10, 15) and also called motion vector, and is expressed, for example, from a variable length code (VLC) having a value ranging from xe2x88x9216 to +15 and an f code.
The DCT is a process of dividing an original image into square macro blocks (a macro block may be hereinafter referred to simply as MB) of 16xc3x9716 picture elements and decompose each MB into different frequency components from a low frequency component to a high frequency component. The DCT can convert a distribution of luminance values which are random on the frequency axis into another distribution in which the frequency components appear in a concentrated manner in a low frequency region. Further, the DCT can eliminate high frequency components and thus allows information compression. Further, the compression ratio in such information compression can be changed as hereinafter described.
The motion compensation signifies a method of determining a difference between the position shifted by a fixed value from a picture (also called coded picture), which is an image processing unit, and a coded picture of an object of compression. Here, the picture signifies an individual still picture from still pictures of a moving picture and specifically indicates a frame or a field. The frame and the field arise from a difference in scanning method, and in the following description, the picture is used with a higher concept than the frame and the field. A difference between the frame and the field is hereinafter described above.
A method of obtaining a motion vector is called motion search and is performed by comparison between an original image and a reference image. First, an original image MB is determined from a single original image, and a quadrilateral region of a reference image different from the original image is determined as a search range. Then, a search MB (reference MB) of the same size as that of the original image MB is selected from within the search range, and the search MB is shifted within the range from xe2x88x9216 to +15 both horizontally and vertically. Then, differences between the original image MB and the shifted search MBs are calculated each as a sum of absolute values (absolute value sum) or a square sum, and a relative position of that one of the search MBs at which the lowest difference value is obtained within the ranges is determined. Accordingly, the arithmetic operation of the difference is performed, for example, by 256 times.
It is to be noted that the search range in the following description is, for example, from xe2x88x9216 to +15 MB distances in both of the horizontal and vertical directions. However, the motion search number may otherwise be set to a value different from 256. The MPEG system provides, for example, also a scheme called half pel motion compensation, by which also a motion vector (xe2x88x923.5, 5.5) or the like can be produced. In the following description, the difference amount is sometimes used to signify the difference value.
FIG. 16 illustrates a motion search. Referring to FIG. 16, an MB 100a is provided in an original image picture 100, and a search range 110a is provided in a reference picture 110. A motion search is performed centered at the position of the MB 10a, and difference calculation between the MB 100a and a shifted MB 110b for each picture element in the search range 110a is performed.
FIG. 17 illustrates a motion vector. An outer framework shown in FIG. 17 is a range (the search range 110a) of the reference picture 110 for which a search is performed. Here, an arrow mark which is directed in the left upper direction is a motion vector 111, and an MB 110c is at the same position as that of the MB 100a in the original image picture 100 (refer to FIG. 16) while the MB 110b is at a position at which the motion search evaluation value exhibits its smallest value within the search range 110a. Such motion search evaluation values are calculated based on individual difference amounts obtained by raster scanning by which the search position is successively shifted one by one MB distance from the left upper corner of the search range 110a, and the lowest value of the motion search evaluation values is determined as a motion vector.
FIG. 18 illustrates block matching, and the block matching is described with reference to FIG. 18. A motion searcher 120 shown in FIG. 18 is connected to a frame memory 121a and another frame memory 121b. A plurality of search MBs are inputted from the frame memory 121a to the motion searcher 120, and a plurality of original images MB are inputted from the frame memory 121b to the motion searcher 120. The motion searcher 120 includes a plurality of inter-block difference arithmetic operation circuits 120a, 120b, . . . , 120c which individually calculate difference amounts between the original MB and the search MBs. Results of the calculation are outputted from the inter-block difference arithmetic operation circuits 120a, 120b, . . . , 120c, and the lowest value is selected from among the plurality of calculation results by a comparator 120d and outputted as a motion search result.
As an arithmetic operation method for block matching, an absolute value sum of difference amounts, a square sum of difference amounts or the like can be used, and the number of such values is equal to the number of shifting operations or shifted positions within the search range. Where the inter-block difference arithmetic operation means shown in FIG. 18 is formed from a difference absolute value sum arithmetic operation circuit, it has such a construction as shown in FIG. 19.
FIG. 19 is a block diagram of the difference absolute value sum arithmetic operation circuit. In the difference absolute value sum arithmetic operation circuit 122 shown in FIG. 19, a difference between an original MB picture element 1 from the frame memory 121b and a reference picture element 1 from the frame memory 121b is calculated by a subtractor 122a, and an absolute value of the difference is obtained by an absolute value arithmetic operator (represented as absolute value in FIG. 19) 122d and inputted to an cumulative adder 122g. 
Similarly, a difference between an original image MB picture element 2 and a reference picture element 2 is calculated by a subtractor 122b, and an absolute value of the difference is obtained by an absolute value arithmetic operator (absolute value) 122e and inputted to the cumulative adder 122g. Further, a difference between an original image MB picture element N and a reference picture element N is calculated by a subtractor 122c, and an absolute value of the difference is obtained by an absolute value arithmetic operator (absolute value) 122f and inputted to the cumulative adder 122g. Further, the absolute values outputted from the absolute value arithmetic operators 122d, 122e, . . . , 122f are cumulatively added by the cumulative adder 122g, and a resulting sum value is outputted from the cumulative adder 122g. Here, the picture element numbers 1, 2, . . . , N are order numbers in raster scanning of an MB, and N is an integer representative of the number of picture elements in the MB.
FIG. 20 is a block diagram of a difference square sum arithmetic operation circuit. The difference square sum arithmetic operation circuit 123 shown in FIG. 20 is similar to the absolute value arithmetic operator 122d shown in FIG. 19 but is different in a square sum arithmetic operator (square value) 123b therein. In particular, a difference between an original MB picture element 1 from the frame memory 121b and a reference picture element 1 from the frame memory 121a is calculated by a subtractor 123a, and a square value of the difference from the subtractor 123a is obtained by the square sum arithmetic operator 123b and inputted to a cumulative adder 123c. The cumulative adder 123c cumulatively adds the square value outputted from the square sum arithmetic operator 123b and square values outputted from the other square sum arithmetic operators and outputs a resulting value. The picture element numbers 1, 2, . . . , N are order numbers in raster scanning of an MB, and N is an integer representative of the number of picture elements in the MB.
A motion search in the MPEG system is performed in such a manner as described above, and a motion vector is sent out together with coded image difference information.
Now, a frame and a field which are lower concepts of a picture are described together with differences in scanning method. A frame is a still picture from among still pictures in a moving picture, and a field is an image produced by a cycle of scanning. A frame and a field are based on a difference in scanning method of a moving picture.
Scanning methods for a moving picture are classified into non-interlace scanning and interlace scanning. According to the non-interlace scanning, a frame is composed of picture elements all obtained by sampling at the same time. In contrast, according to the interlace scanning, an image in a frame is composed of even-numbered picture elements and odd-numbered picture elements obtained separately at different timings from each other, and one frame is composed of two images including an image at present and another image immediately preceding (in the past) to the image at present. The images sampled at such different timings are individually called first field and second field, and a frame obtained by interlace scanning is usually composed of two field images.
In other words, the non-interlace scanning produces one frame by a single scanning cycle without separating scanning lines whereas the interlace scanning produces one frame by two scanning cycles.
Thus, one frame is allocated or two fields are allocated to one picture. It is to be noted that the former is called frame structure, and the latter is called field structure. Consequently, an image is coded not only as a frame but also as a field, and accordingly, the image is coded efficiently.
Further, methods for coding pictures are classified into intra-picture coding (intra coding) and inter-picture coding (inter coding). In the intra-picture coding, coding is performed only within one picture independently, and the coding is performed in the same order as that of an original image without performing prediction upon coding (prediction coding).
On the other hand, according to the inter-picture coding, an inter-picture difference between a picture at present and an already coded picture is calculated and then coded. As a flow of operations in the inter-picture coding, motion compensation is performed in a unit of an MB, and the position at which pictures are most similar is searched out, and the difference from the position is coded.
In practical use, where the intra-picture coding is superior in efficiency to the inter-picture coding, the intra-picture coding is selectively performed even if the inter-picture coding has been used till then. It is to be noted that such intra discrimination/inter discrimination is performed in a unit of an MB.
Further, different kinds of pictures with regard to prediction are described. According to the MPEG system, a group called GOP (Group Of Pictures) is provided, and regeneration of pictures is performed using bidirectional prediction for each group. The pictures which form a GOP have three different picture types, i.e., an I picture (intra-coded picture), a P picture (predictive-coded picture) and a B picture (bidirectionally predictive-coded picture). Thus, such motion compensation, DCT and so forth as described above are performed for each frame or field. It is to be noted that images referred to by a P picture and a B picture are different between the frame structure and the field structure.
Similarly, also the DCT is performed separately for the frame structure and the field structure, and frame DCT and field DCT are calculated. Thus, a motion vector for a frame and a motion vector for a field are available. Also prediction methods are classified into frame prediction and field prediction.
Then, image data are compressed by variable length coding (entropy coding). The variable length coding is applied for the appearance frequency of each code. In particular, a picked up image is DCT transformed, and coefficients obtained by the DCT are much different in appearance frequency. Therefore, in processing of DCT coefficients or components of a motion vector, a shorter code length is allocated to a value having a higher appearance frequency while a longer code length is allocated to a value having a lower appearance frequency to reduce the average information amount.
For example, if the appearance frequencies of 0, 1, 2 and 3 are 0.6, 0.2, 0.1 and 0.1, then they are allocated to fixed length codes of two figures like 00, 01, 10 and 11, and the average code length of the codes is 2 bits as obtained from the following expression (1):
Average code length=2xc3x970.6+2xc3x970.2+2xc3x970.1+2xc3x970.1=2 (bits)xe2x80x83xe2x80x83(1) 
On the other hand, where the appearance frequency is equal, if 0 of 1 bit is allocated to 0 which has the highest appearance frequency and 10 of 2 bits is allocated to 1 which has the second highest appearance frequency and then 111 of 3 bits is allocated to 2 and 3 which have the lowest appearance frequency, then the average code length is such as given by the following expression (2):
Average code length=1xc3x970.6+2xc3x970.2+3xc3x970.1+3xc3x970.1=1.6 (bits)xe2x80x83xe2x80x83(2) 
Consequently, the variable length coding is advantageous and contributes compression.
It is to be noted that the standardization work regarding the MPEG system is performed by the JTC1 (Joint Technical Committee 1) managed jointly by the ISO (International Organization for Standardization) and the IEC (International Eletrotechnical Commission), and for standards for a moving picture, the MPEG4 is proceeded in addition to the MPEG1 and the MPEG2. The SC29 in the SC (Subcommittee) which is a subordinate organization of the JCT1 is engaged in standardization of a digital moving picture. More particularly, the SC29 defines the ISO/IEC 11172-2 and so forth regarding the coding system of an MPEG1 moving picture, and defines the ISO/IEC 13818-2 and so forth with regard to the coding system for an MPEG2 moving picture.
Subsequently, a compression circuit which employs the MPEG system is described. In the following, unless otherwise specified, processing in the MPEG2 system is described.
FIG. 21 is a block diagram of an MPEG coding apparatus. In the MPEG coding apparatus 150 shown in FIG. 21, original image data are inputted from a frame memory 150j while reference image data are inputted from another frame memory 150g, and block matching between the original image data and the reference image data is performed by a motion searcher 120. An optimum motion vector which has the highest correlation degree is extracted separately for a frame and a field from the original image data, and the optimum motion vectors thus extracted are inputted to a motion predictive discriminator 151. Thus, a single optimum motion vector is outputted from the motion predictive discriminator 151 to a subtractor 150a and an adder 150f. It is to be noted that the correlation degree is a degree of similarity.
In intra-picture coding, an MB is outputted from the frame memory 150g through a switch 150b to an encoder 150c, and quantization coefficients are calculated from the MB by a quantizer 150h in the encoder 150c. The coefficients are coded by a variable length encoder 150i and outputted as a stream of MPEG coded bits (MPEG stream). Further, the image data outputted from the encoder 150c are branched and then decoded by a decoder 150d, and the decoded picture data are inputted to and stored into the frame memory 150g through a switch 150e. Then, the image data for reference stored in the frame memory 150g are inputted to the motion predictive discriminator 151 and the motion searcher 120.
On the other hand, in inter-picture coding, an MB is outputted from the frame memory 150j and inputted through the subtractor 150a and the switch 150b to the encoder 150c, by which the MB is variable length coded similarly so that it is outputted as an MPEG stream. The output of the encoder 150c is decoded by the decoder 150d, and the decoded image data and the optimum motion vector are added by the adder 150f. Then, the image data obtained by the addition are stored into the frame memory 150g through the switch 150e. The thus stored image data for reference are inputted to the motion predictive discriminator 151 and the motion searcher 120.
In this manner, even where position information produced from difference information is added, the entire information amount as a result of the addition of the difference information to image data can be reduced. Further, sampling in the DCT described above may be made rough. Further, codes are applied to effective coefficients (values other than 0) after the quantization in response to an appearance pattern of them, and the magnitude of the information amount is adjusted by control principally of the magnitude of the quantization. It is to be noted that the roughness of sampling may sometimes be referred to as roughness of quantization.
By the way, since a motion vector is obtained by a parallel movement search of an MB, it is different depending upon the scene. Accordingly, although an appropriate motion vector is obtained from a parallel movement scene of a solid member or the like, no appropriate motion vector is present with regard to a scene of the surface of the water or a honeycomb, etc. which has a shape of small patterns, or with regard to a scene of rotation, enlargement, reduction or the like of a body. In this instance, random motion vectors which have different directions between different MBs sometimes appear. In addition, since a motion vector is coded with difference information from a motion vector of a preceding MB which is positioned in the picture, where random motion vectors appear, the information amount of motion vectors increases significantly.
Subsequently, a relationship between the compression ratio and the information amount of motion vectors is described. Taking a television signal as an example, an original signal has an information amount of one hundred and several tens Mbps, and compression of the signal reduces the information amount to 4 Mbps to 6 Mbps (to 1/20 to 1/30). Of the information amount, the information amount of the motion vector is several hundreds kbps to 1 Mbps, and where the compression ratio is such as just described, the information amount in DCT and motion compensation is allocated normally. Here, k (kilo) represents ten to the third power while M (mega) represents ten to the sixth power, and bps is a transmission ratio per one second.
On the other hand, if the compression ratio increases and the value of an MPEG stream becomes, for example, 2 Mbps to 3 Mbps, then even if DCT reduces the information amount regarding the quantization coefficients, the difference amounts regarding motion vectors (the motion vector information amount) cannot be allocated sufficiently to the MPEG stream.
Further, in low rate coding with a raised compression ratio, since the rate of occupation of the motion vector information amount in the entire coded information amount increases, the motion vector information amount cannot be ignored.
Therefore, a countermeasure for reducing the motion vector information amount is required. Systems and methods for decreasing the motion vector information amount are disclosed in Japanese Patent Laid-Open No. SHO 61-200789 (hereinafter referred to as first related art document), Japanese Patent Publication No. HEI 7-38722 (hereinafter referred to as second related art document), Japanese Patent Laid-Open No. HEI 8-79767 (hereinafter referred to as third related art document) and Japanese Patent Laid-Open No. HEI 11-215504 (hereinafter referred to as fourth related art document).
First, the scheme disclosed in the first related art document is directed to using motion vector detection results of surrounding blocks to perform correction processing for a motion vector obtained by a conventional method to obtain a motion vector corresponding to an actual movement of a body, and uses a common motion vector to that of an adjacent block. In particular, according to the scheme, a motion vector is assimilated with a vector of a surrounding block to reduce erroneous detection, and a motion vector of a block around an input block is used to correct a motion vector obtained by a motion vector detection section.
The scheme disclosed in the second related art document is directed to realization of a coding system which has a high motion compensation efficiency. In the scheme, a motion vector of a current block is calculated from a motion vector of an adjacent block. In particular, two motion vectors including a motion vector (vector 1) of a current block calculated using motion vector information of an adjacent block and another motion vector (vector 2) calculated actually by block matching are calculated individually, and resulting difference information is compared with each other. If it is discriminated that there is no difference in efficiency when the motion vector information of the vector 2 is added and a result of the addition is coded, then only the difference information is coded using the vector 1.
Consequently, since the vector 1 which is calculated from a vector of an adjacent block can be calculated similarly on the decoding side if the decoding side has the same calculation algorithm, coding of the motion vector is unnecessary.
Further, the scheme disclosed in the third related art document is directed to provision of a vector coding system and decoding system by which the information amount of moving picture data can be reduced, and uses the same motion vector as that of an adjacent block. Then, a motion vector component of the adjacent block and a vector component of a motion vector of the current block are compared with each other. If the motion vector of the current block can be considered to be equal to the motion vector of the adjacent block, then the blocks are regarded as a group and a single piece of vector information is coded for the group.
In addition, the scheme disclosed in the fourth related art document is directed to provision of a moving picture coding apparatus which can decrease the code amount in accordance with the magnitude of motion vectors and can thereby augment the coding efficiency. According to the scheme, a motion vector is determined actually from an inter-block difference amount, and if the distribution of such motion vectors exhibits a wide appearance range of motion vectors, then a variable length table with which a wide range can be represented is used, but if the distribution exhibits a narrow appearance range of motion vectors, then a variable length table with which a narrow range can be represented sufficiently is used. In particular, according to the scheme, when variable length coding of motion vectors is performed after ordinary detection of motion vectors is performed, a variable length table with which coding can be performed in a comparatively high efficiency is searched out and used to perform coding. Here, where the variable length table can represent over a wide range, the code lengths of individual codes are long, but where the variable length can represent over a narrow range, the code lengths of individual codes are short.
The systems and methods described above, however, have the following subjects to be solved.
Firstly, according to the schemes disclosed in the first to fourth related art documents, when the transmission rate is low, the amount of information bits regarding motion vectors increases relative to the total transmission amount. Also there is a subject to be solved that, while the difference amount can be decreased by quantization in which DCT is used, the information amount of motion vectors cannot be reduced.
Secondly, the schemes disclosed in the first, second and third related art documents have a subject to be solved in that the calculation amount is very great because correction calculation of motion vectors is performed after motion vectors of individual blocks are calculated.
Thirdly, the schemes individually have such various subjects to be solved as described below. In particular, the scheme of the first related art document has a subject to be solved in that the document does not describe decoding of motion vectors and the scheme is not superior in terms of the coding efficiency.
Meanwhile, the scheme disclosed in the second related art document has a subject to be solved in that, although the MPEG system prescribes for the encoder side, also the decoder side must use the same algorithm as that of the encoder side. Further, the second related art document is silent of a method for coding motion vector information or a method of reducing the information amount of such motion vector information.
In addition, the scheme disclosed in the third related art document has a subject to be solved that, since blocks are grouped, additional bits for indicating upward, rightward and downward directions are required in order to indicate of which one of adjacent blocks the motion vector is same as that of the pertaining block. Further, the third related art document is silent of a method of coding motion vector information or a method of reducing the information amount of the motion vector information.
Further, the scheme disclosed in the fourth related art document has a subject to be solved that the calculation amount is very great because correction calculation of motion vectors is performed after motion vectors of blocks are calculated.
It is an object of the present invention to provide a motion vector searcher and a motion vector search method as well as a moving picture coding apparatus by which, when the compression ratio is high and the transmission rate is low, the information amount of motion vectors can be reduced efficiently while the accuracy of the motion vectors is maintained.
In order to attain the object described above, according to the present invention, for the object of reduction of the information amount of motion vectors when the compression ratio is high and the transmission rate is low, an additional amount is added to a motion vector in block matching to perform correction calculation thereby to calculate a motion vector by one motion search while the magnitude of the additional amount is adjusted.
More particularly, according to an aspect of the present invention, there is provided a motion vector searcher for moving picture coding which calculates difference amounts between an original image macro block obtained by dividing original image data inputted thereto and a plurality of search macro blocks provided in reference image data to produce motion vectors representative of positions of the plurality of reference macro blocks from the same position as a position of the original image macro block, comprising a difference arithmetic operation section for calculating and outputting the difference amounts between the original image macro block and the plurality of search macro blocks, an additional amount arithmetic operation section connected to the difference arithmetic operation section for outputting a correction difference amount which is obtained by adding an additional amount, the additional amount which relies upon a horizontal component and a vertical component of each of the motion vectors and a state of coding, to each of the difference amounts outputted from the difference arithmetic operation section and for outputting a motion vector based on the motion vector or vectors of an adjacent one or ones of the search macro blocks and the corresponding correction difference amount or amounts, and a motion vector determination section connected to the additional amount arithmetic operation section for determining an optimum motion vector which exhibits the highest one of correlation degrees between the original image block and the search blocks.
The motion vector searcher is advantageous in that not only information generated by coding of difference information but also information generated by coding of motion vector information can be adjusted, and since generation of a redundant motion vector information amount can be suppressed particularly upon low rate coding wherein the magnitude of the motion vector information amount cannot be ignored, efficient coding can be achieved.
The difference arithmetic operation section may include a plurality of inter-block difference arithmetic operation sections for outputting differences between data regarding the search macro blocks and data regarding the original image block as the difference amounts. In this instance, the additional amount arithmetic operation section may include a plurality of additional amount arithmetic operation circuits individually connected to the plurality of inter-block difference arithmetic operation sections of the difference arithmetic operation section for outputting the correction difference amounts and outputting the motion vectors based on the correction difference amounts for motion vectors which are inputted from the outside.
Further, the additional amount arithmetic operation section may set the additional amount such that the additional amount includes a value which originates from variation amounts between the horizontal component and the vertical component of the motion vector and a horizontal component and a vertical component of a preceding motion vector produced in the past and increases as the variation amounts increase. As an alternative, the additional amount arithmetic operation section may set the additional amount such that the additional amount includes a value which originates from the horizontal component and the vertical component of the motion vector and increases as the horizontal component and the vertical component of the motion vector increase. As another alternative, the additional amount arithmetic operation section may set the additional amount such that the additional amount includes a value which originates from a coding bit rate at which moving picture coding is performed and increases as the coding bit rate decreases. As a further alternative, the additional amount arithmetic operation section may set the additional amount such that the additional amount includes a value which originates from the magnitude of a quantization coefficient of discrete cosine transform to be performed for each of the macro blocks and increases as the quantization coefficient increases.
Otherwise, the additional amount arithmetic operation section may set the additional amount such that the additional amount includes a value which originates from a motion vector information amount by which the motion vectors are generated and a total information amount by which coded data of a moving picture are generated and increases as a ratio of the motion vector information amount to the total information amount increases, or may set the additional amount such that the additional amount includes a value which originates from an activity value representative of complexity of image variation and increases as the activity value increases, or else may set the additional amount such that the additional amount includes a value which originates from at least one of an average value of directions indicated by motion vectors in the past and a variance with regard to the average value.
The additional amount arithmetic operation section may be capable of resetting the additional amount 0 for each coded picture which is a unit of image processing.
The motion vector searcher is advantageous in that, since calculation of motion vectors can be performed at a high speed, the search range of motion vectors can be expanded and it becomes possible to trace a body which exhibits much complicated movements, by which augmentation of the picture quality is achieved.
According to another aspect of the present invention, there is provided a motion vector search method for moving picture coding wherein difference amounts between an original image macro block obtained by dividing original image data inputted thereto and a plurality of search macro blocks provided in reference image data are calculated to produce motion vectors representative of positions of the plurality of reference macro blocks from the same position as a position of the original image macro block, comprising a difference arithmetic operation step of calculating differences between data regarding the plurality of search macro blocks and data regarding the original image macro block and outputting the differences as the plurality of difference amounts, an additional amount arithmetic operation step of adding additional amounts which rely upon horizontal components and vertical components of the plurality of motion vectors and a state of coding to the difference amounts, and a motion vector determination step of determining an optimum motion vector which has the minimum information amount from among the plurality of motion vectors.
The motion vector search method is advantageous in that the necessity for complicated calculation is eliminated and an additional amount can be adjusted and added to a motion vector and besides the information amount of motion vectors can be reduced while the accuracy of motion vectors is maintained.
According to a further aspect of the present invention, there is provided a moving picture coding apparatus for moving picture coding which calculates difference amounts between an original image macro block obtained by dividing original image data inputted thereto and a plurality of search macro blocks provided in reference image data to produce motion vectors representative of positions of the plurality of reference macro blocks from the same position as a position of the original image macro block, and performs motion compensation, comprising a difference arithmetic operation section for calculating and outputting the difference amounts between the original image macro block and the plurality of search macro blocks, an additional amount arithmetic operation section connected to said difference arithmetic operation section for outputting a correction difference amount which is obtained by adding an additional amount, the additional amount which relies upon a horizontal component and a vertical component of each of the motion vectors and a state of coding, to each of the difference amounts outputted from the difference arithmetic operation section and for outputting a motion vector based on the motion vector or vectors of an adjacent one or ones of the search macro blocks and the corresponding correction difference amount or amounts, and a motion vector determination section connected to the additional amount arithmetic operation section for determining an optimum motion vector which exhibits the highest one of correlation degrees between the original image block and the search blocks, the additional amount arithmetic operation section setting the additional amount for the original image macro block at a predetermined position of a coded picture which is a unit of information processing such that the magnitude of the additional amount is varied using motion vector information of the original image macro block at the same position as that of a preceding coded picture coded in the past, average motion vector information of the preceding coded picture and the motion vector information searched already from the coded picture.
The moving picture coding apparatus is advantageous in that the processing speed is augmented and the search range of original image pictures can be expanded, and consequently, smoother images can be obtained. Further, a body or an event which exhibits a high speed movement can be caught and the visibility is augmented significantly.
The above and other objects, features and advantages of the present invention will become apparent from the following description and the appended claims, taken in conjunction with the accompanying drawings.